<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
    /*this4种方法
    * 1.函数调用时 this就是window
    * 2.对象的方法调用时，this就是对象
    * 3.构造函数调用时，this就是新创建的对象
    * 4.使用call调用时，this就是call的第一个参数
    * */
    //举例1 函数调用 this就是window
    var name="高压锅";
    function demo() {
        console.log(this.name);
    }
    demo();
    var obj={
        name:"孙悟空",
        sayName: demo
    }
    obj.sayName();//this表示调用该方法的对象，所以在"obj方法中的this"表示的是obj
    //同理，在window对象里调用的window方法中的this，表示的是window
    //汇总成一句话，this只存在于方法中，谁调这个方法，那么方法中的this就表示谁。

    function Person(name,age) {
        this.name=name;
        this.age=age;
        this.sayName=demo;
    }
    var a=new Person("铅笔",1);
    var b=new Person("钢笔",1);
   a.sayName();

</script>
</body>
</html>